﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Domain.Entities;

namespace WMS.Seven.Models
{
    /// <summary>
    /// 调拨单
    /// </summary>
    public class Allocation : Entity<int>
    {
        /// <summary>
        /// 调拨单号
        /// </summary>
        [StringLength(50)]
        public string? AllocationNumber { get; set; }
        /// <summary>
        /// 产品名称
        /// </summary>
        [StringLength(50)]
        public string? ProductName { get; set; }
        /// <summary>
        /// 产品编号
        /// </summary>
        [StringLength(50)]
        public string? ProductNumber { get; set; }
        /// 批次
        /// </summary>
        [StringLength(50)]
        public string? Batch { get; set; }
        /// <summary>
        /// 单位
        /// </summary>
        [StringLength(10)]
        public string? Unit { get; set; }
        /// <summary>
        /// 数量
        /// </summary>
        public int Quantity { get; set; }
        /// <summary>
        /// 原仓库
        /// </summary>
        [StringLength(50)]
        public string? OriginalWarehouse { get; set; }
        /// <summary>
        /// 原库位
        /// </summary>
        [StringLength(50)]
        public string? OriginalLocation { get; set; }
        /// <summary>
        /// 调拨仓库
        /// </summary>
        [StringLength(30)]
        public string? TransferWarehouse { get; set; }
        /// 调拨库位
        /// </summary>
        [StringLength(30)]
        public string? TransferLocation { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        public int Status { get; set; }
        /// <summary>
        /// 制单人
        /// </summary>
        [StringLength(20)]
        public string? Creator { get; set; }
        /// 制单时间
        /// </summary> 
        [StringLength(20)]
        public DateTime? CreationTime { get; set; }
        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdateBy { get; set; }
        /// <summary>
        /// 修改时间
        /// </summary>
        [StringLength(20)]
        public DateTime? ModificationTime { get; set; }
        /// <summary>
        /// 预留字段
        /// </summary>
        [StringLength(20)]
        public string? CustomField { get; set; }
    }
}
